1. Field of the Invention
The present invention is related to a method and system to be utilized in at least one data communications network wherein data collaboration conferences are established.
2. Description of the Related Art
A data communications network is the interconnection of two or more communicating entities (i.e., data sources and/or sinks) over one or more data links. A data communications network allows communication between multiple communicating entities over one or more data communications links.
A data communications network can be used to support a data collaboration conference, such as that defined by the International Telecommunications Union""s (ITU""s) T.120 standard, [T.120] Recommendation T.120 (07/96)xe2x80x94Data protocols for multimedia conferencing, which is hereby incorporated by reference in its entirety. With reference now to FIG. 1, shown is a data communications network in a data collaboration conference configuration. Depicted are four humans A, B, C and D interacting with communication programs on computers 102, 104, 106, and 108 in order to participate in the data collaboration conference.
In a data collaboration conference participants participate much as they would if they were in a physical conference room having a physical whiteboard. In a data collaboration conference, participants typically have displayed on their computer screens something akin to a xe2x80x9cvirtualxe2x80x9d whiteboard. Each user can xe2x80x9cmarkxe2x80x9d on his or her whiteboard (typically via use of a mouse or other input device), and such xe2x80x9cmarkingxe2x80x9d on the whiteboard will almost simultaneously be displayed on the computer screens of the other participants in the data collaboration conference. Consequently, the interaction of humans A, B, C, and D with their communication programs typically involves the utilization of microphones, speakers, keyboards, and/or graphical user interfaces on computers 102, 104, 106, and 108.
A few of the communication programs which typically support data collaboration conferences are shown running on computers 102, 104, 106, and 108. Shown resident within and running on computers 102, 104, 106, and 108 are TCP/IP communications programs 120, 140, 160, and 180, respectively. Each such TCP/IP communications program allows, among other things, higher level entities to communicate over-TCP/IP network 150.
Shown resident within and running on computers 102, 104, 106, and 108 are multi-point communication system programs (MCSes) 122, 142, 162, and 182 respectively. Each such MCS ensures, among other things, that data collaboration occurs in that each MCS communicates with other MCSes to ensure that actions taken on the xe2x80x9cvirtualxe2x80x9d whiteboard appear consistently across computers 102, 104, 106, and 108.
Shown resident within and running on computer 102 is generic conference controller program (GCC) 124. In a data collaboration conference, the GCC serves to ensure that the data collaboration occurs in an orderly fashion. In the related art, typically the computer system associated with the initiator of the data collaboration conference activates its GCC and thereafter assumes the GCC role for the duration of the data collaboration conference (e.g., if user A originated the data collaboration conference, GCC 124 would be activated and would assume the GCC role). (In the related art, GCCs are also typically resident on each computer system participating in the data collaboration conference. However, insofar as such GCCs are not generally active (typically remaining unloaded and/or dormant) unless the computer upon which a GCC is resident initiated the data collaboration conference, such GCCs are not shown in this related art section for sake of clarity.)
As a relatively expensive alternative to the foregoing, in the related art it has been recognized that if GCC 124 becomes no longer viable, such as for example when GCC 124 has an internal error, or if computer 102 wherein GCC 124 resides must be restarted (e.g., due to failure of computer 102""s operating system), or if for some reason human user A elects to take computer 102 out of the data collaboration conference, then the entire data collaboration conference tends to fail. Accordingly, in the related art an extra server entity (not shown) is sometimes utilized to provide the functioning of the GCC.
As used in this context, the xe2x80x9cextra server entityxe2x80x9d refers to an additional computer system/embedded computer whichxe2x80x94unlike computer 102 which is typically running many other computer programs besides GCC 124xe2x80x94is almost exclusively dedicated to running the additional GCC communication program. Since the extra server entity is almost exclusively dedicated to running the additional GCC communication program, it has a higher fault tolerance and generally has higher availability than computers (such as computer 102) which are not so dedicated.
It has been discovered by the inventors named herein (xe2x80x9cinventorsxe2x80x9d), that the prior art solution of providing the extra server entity as a means for keeping the data collaboration conference xe2x80x9con-linexe2x80x9d is an expensive option for many businesses, especially smaller ones. It has been posited by the inventors that the art would benefit from a method and system which extend data collaboration conference capabilities such that if the GCC goes down, the conference will continue with little or no inconvenience to the conference participants, but will do so in such a way that the extra server entity, as used in the related art, is not required.
The inventors named herein have devised a method and system for maintaining a data collaboration conference. In one embodiment, a method includes but is not limited to monitoring for the presence of a first general conference controller having top provider status, and promoting at least a second general conference controller one level in status hierarchy in response to the monitoring indicating that the first general conference controller is no longer viable. In one embodiment, hardware and/or software is utilized to effect the foregoing described method.
In one embodiment, a method includes but is not limited to monitoring for the presence of a first general conference controller having top provider status; promoting at least a second general conference controller one level in status hierarchy in response to the monitoring indicating that the first general conference controller is no longer viable; and directing that the second general conference controller assume to provider status, in response to a determination that the second general conference controller has been promoted to top provider status. In one embodiment, hardware and/or software is utilized to effect the foregoing described method.
In one embodiment a method for managing a hierarchy of alternate General Conference Controllers (GCCs) includes but is not limited to reassigning the hierarchy of alternate GCCs in an event that one or more alternate GCCs become not viable. In one embodiment, hardware and/or software is utilized to effect the foregoing described method.
In one embodiment, a method for updating one or more alternate top provider General Conference Controllers (GCCs) as to a current status of the top provider GCC includes but is not limited to informing the one or more alternate top provider GCCs as to the state of a GCC having top provider status. In one embodiment, hardware and/or software is utilized to effect the foregoing described method.